package com.train.mgr.modules.biz.entity;

import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import com.baomidou.mybatisplus.annotation.TableField;
import com.train.common.db.entity.BaseEntity;
import java.io.Serializable;
import lombok.extern.slf4j.Slf4j;

import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * <p>
 * 音频指标评分规则
 * </p>
 *
 * @author cxg
 * @date 2025-10-18
 */
@Slf4j
@Data
@Accessors(chain = true)
@TableName("a_audio_metric_rule")
public class AudioMetricRule {

    private static final long serialVersionUID = 1L;

    /**
     * 指标英文名 avg_volume / volume_std
     */
    @TableField("metric")
    private String metric;

    /**
     * 计分方式：SCORE=公式计分, RAW=aiValue当分数
     */
    @TableField("calc_type")
    private String calcType;

    /**
     * 指标中文名
     */
    @TableField("metric_name")
    private String metricName;

    /**
     * 单位
     */
    @TableField("unit")
    private String unit;

    /**
     * 基准值
     */
    @TableField("base_val")
    private Double baseVal;

    /**
     * 系数
     */
    @TableField("coeff")
    private Double coeff;

    /**
     * 最低得分
     */
    @TableField("score_min")
    private Integer scoreMin;

    /**
     * 同一指标内区间顺序
     */
    @TableField("seq")
    private Integer seq;

    /**
     * 区间最小分数（含）
     */
    @TableField("score_min_in")
    private Double scoreMinIn;

    /**
     * 区间最大分数（含），NULL 代表正无穷
     */
    @TableField("score_max_in")
    private Double scoreMaxIn;

    /**
     * 原始值下限(含)
     */
    @TableField("raw_min")
    private Double rawMin;

    /**
     * 原始值上限(不含)
     */
    @TableField("raw_max")
    private Double rawMax;

    /**
     * 等级编码
     */
    @TableField("level_code")
    private String levelCode;

    /**
     * 等级中文
     */
    @TableField("level_name")
    private String levelName;

    /**
     * 提示文案
     */
    @TableField("description")
    private String description;



}
